<?php
require_once 'AdminController.php';
/**
 * 
 * Classe referente aos membros da diretoria do admin do site
 * @author Ramon Moraes
 *
 */
class Membros extends AdminController{
	
	/**
	 * 
	 * Construtor da classe
	 * @access public
	 * @method __construct
	 */
	public function __construct(){
		
		parent::__construct();
	}
	
	public function index(){
		
		parent::index('membros');
	}
	
	/**
	 * 
	 * Função para carregar página de cadastrar membros
	 * @access public
	 * @method cadastro
	 */
	public function cadastro($pag=1, $limit=10){
		
		if(!$this->isLogged()){
			redirect('admin/administradores/login');
		}
		
		$indices = array(
			'Id',
			'Nome',
			'Função',
			'Data Cadastro'
		);
		
		$mem = new Membro();
		$mem->order_by('id', 'desc')->get($limit, ($pag - 1) * $limit);
		
		$dados = array();
		foreach($mem->all as $m){
			$dados[] = $m->getArrayDadosAdmin();
		}
		
		$m2 = new Membro();
		$total = $m2->where('flag', 'ATIVO')->count();
		$numPaginas = ceil($total / $limit);
		if($numPaginas == 0){
			$numPaginas = 1;
		}
		
		$paginacao = array(
			'paginaAtual' 		=> $pag,
			'itensPorPagina' 	=> $limit,
			'totalPaginas'		=> $numPaginas,
			'link'				=> 'admin/' . $this->router->fetch_class() . '/' . $this->router->fetch_method() . '/'
		);
		
		$profissionais = new Usuario();
		$profissionais->get();
		
		$this->setData('colunas', $indices);
		$this->setData('linhas', $dados);
		$this->setData('paginacao', $paginacao);
		$this->setData('profissionais', $profissionais);
		
		$this->loadView('admin/membros/index');
	}
	
	/**
	 * 
	 * Função para exluir um membro
	 * @param int $id
	 * @access public
	 * @method excluir
	 */
	public function excluir($id){
		$mem = new Membro();
		$mem->where('id', $id)->get();
		$mem->delete();
		redirect('admin/membros');
	}
	
	public function salvar($id=null){
		
		if(isset($_POST['usuarioId']) && $_POST['usuarioId'] != '' && isset($_POST['funcao']) && $_POST['funcao'] != ''){
			
			$usuario = new Usuario();
			$usuario->where('id', $_POST['usuarioId'])->get();
			
			$mem = new Membro();
			
			if($id != null){
				$mem->where('id', $id)->get();
			}

			$mem->funcao = $_POST['funcao'];
			
			$mem->save($usuario);
			redirect('admin/membros/cadastroSucesso');
		}
		redirect('admin/membros/cadastroErro');
	}
	
	public function cadastroSucesso(){
		
		$this->setData('cadastroSucesso', true);
		$this->cadastro();
	}
	
	public function cadastroErro($erro=null){
		
		$this->setData('cadastroSucesso', false);
		$this->cadastro();
	}
}